package com.hup.htts.service.tts.jna;

import com.hup.utils.commons.JniUtil;
import com.sun.jna.Library;
import com.sun.jna.WString;

/**
 * @author hugan
 * @date 2021/9/13
 */
public interface HttsJnaLib extends Library {

    HttsJnaLib INSTANCE = JniUtil.loadLibraryJNA("/dll/HttsJna.dll", HttsJnaLib.class);

    /**
     * dll版本号
     */
    String version();

    /**
     * 初始化
     */
    int init(boolean debug);

    /**
     * 释放所有对象
     */
    void doFree();

    /**
     * 遍历语音引擎
     */
    int enumVoice(EnumVoiceCallback callback);

    /**
     * @param voiceIndex enumVoice中得到的引擎index
     */
    int setVoice(int voiceIndex);

    /**
     * @param volume 音量[0,100],默认是100
     */
    int setVolume(int volume);

    /**
     * @param rate 播放速度[-10,10],默认是0
     */
    int setRate(int rate);

    int speak(WString text);

    int stop();

    int pause();

    int resume();

}
